SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q53]            
/*-------------------------------------------------------------------*/                                
/*----- Empresa           : OFISIS S.A.                          ----*/                                
/*----- Cliente           : OFISIS S.A.                          ----*/                                
/*----- Sistema           : Contabilidad                         ----*/                                
/*----- Modulo            : Empresa                              ----*/                                
/*----- Programa          : RTPS                                 ----*/                                
/*----- Nombre            : SP_TXMVTO_CNTB_Q53                   ----*/                                
/*----- Script            : TXMVTO_CNTB                          ----*/                                
/*----- Desarrollado por  : PDGV                                 ----*/                                
/*----- Fecha  Creaci?n   : 13/08/2007                           ----*/                                
/*----- Base de Datos     : MS SQL Server                        ----*/                                
/*----- Version BD        : 8.0                                  ----*/                                
/*-------------------------------------------------------------------*/                         
/*-------modif 1          : percy garcia ---------*/                         
/*-------fecha modif      : 29/02/2008---------*/                         
/*-------detalle modif    : en el select final se coloc inner join para   
que salgan solo las cancelaciones del mes ---------*/                         
/*-------------------------------------------------------------------*/                         
/*-------------------------------------------------------------------*/                         
/*----- Drop proc SP_TXMVTO_CNTB_Q53                             ----*/            
/*----- Grant all on SP_TXMVTO_CNTB_Q53 to PUBLIC                ----*/                                
/*-----             
EXECUTE SP_TXMVTO_CNTB_Q53  
  ----*/            
/*------------------------------------------------------------------*/                                
AS          
DECLARE           
@ISCO_EMPR        TD_VC_002,                                
@ISCA_WHER_LOCA   TD_VC_255,                                
@INNU_CNTB_EMPR   TD_IN_001_CONT,                                
@INNU_ANNO        TD_IN_004_ANNO,                                
@INNU_MESE_INIC   TD_IN_002_MESE,                                
@INNU_MESE_FINA   TD_IN_002_MESE,          
                                                   
                                
@VSNU_ASTO_BASE   char(18),                                
@VSCO_MONE_BASE   TD_VC_003,                       
@VSCO_MONE_BAS1   TD_VC_003,                                
@VNIM_TOTA_BASX   TD_NU_016_004,                                
@VNIM_TOTA_BASY   TD_NU_016_004,                                
@VDFE_DOCU   TD_DT_001,                                
@VSTI_DOCU_CNTB   TD_VC_003,                                
@VSNU_DOCU   TD_VC_020,                                
@VSCO_UNID   TD_VC_003,                                
@VSCO_OPRC   TD_VC_003,                                
@VSNU_ASTO   TD_VC_010,                                
@VSCO_PROV   TD_VC_020,                                
@VSNO_CORT_PROV   TD_VC_100,                                
@VSNU_RUCS_PROV   TD_VC_020,                                
@VSCO_MONE   TD_VC_003,                                
@VNIM_INAF_ORIX   TD_NU_016_004,                                
@VNIM_AFEC_ORIX   TD_NU_016_004,                                
@VNIM_IIGV_ORIX   TD_NU_016_004,                                
@VNIM_FONA_ORIX   TD_NU_016_004,                                
@VNIM_RENT_ORIX   TD_NU_016_004,                                
@VNIM_TOTA_ORIX   TD_NU_016_004,                                
@VNIM_INAF_CNTX   TD_NU_016_004,                
@VNIM_AFEC_CNTX   TD_NU_016_004,                                
@VNIM_IIGV_CNTX   TD_NU_016_004,                                
@VNIM_FONA_CNTX   TD_NU_016_004,                                
@VNIM_RENT_CNTX   TD_NU_016_004,                                
@VNIM_TOTA_CNTX   TD_NU_016_004,                                
@VNFA_CAMB   TD_NU_009_004,                                
@VNIM_IIGV_ORIG   TD_NU_016_004,                                
@VNIM_FONA_ORIG   TD_NU_016_004,          
@VNIM_RENT_ORIG   TD_NU_016_004,                                
@VNIM_TOTA_ORIG   TD_NU_016_004,          
@VNIM_IIGV_CNTB   TD_NU_016_004,                                
@VNIM_FONA_CNTB   TD_NU_016_004,                                
@VNIM_RENT_CNTB   TD_NU_016_004,                              
@VNIM_TOTA_CNTB   TD_NU_016_004,                                
                              
@CNPO_IGV1        TD_NU_009_004,                                
@CNPO_IGV2   TD_NU_009_004,                                
@CNPO_REN1   TD_NU_009_004,              
@CNPO_REN2 TD_NU_009_004,                                
                                
@VSCO_OPR1   TD_VC_003,                                
@VSCO_OPR2   TD_VC_003,                                
@VSID_COMP    TD_VC_003,                                
@VSID_IIGV    TD_VC_003,                                
@VSID_FONA    TD_VC_003,                            
@VSID_RENT    TD_VC_003,                                
@VSID_CUAR    TD_VC_003,                                
@VSTI_DOCU_AUXI   char(06),                                
@VSCO_SUNA        TD_VC_002,                                
@CSID_CNTA    TD_VC_003,                                
@CDFE_DOCU   TD_DT_001,                                
@CSTI_DOCU_CNTB   TD_VC_003,                                
@CSNU_DOCU   TD_VC_020,                  
@CSCO_UNID   TD_VC_003,                                
@CSCO_OPRC   TD_VC_003,                                
@CSCO_AUXI   TD_VC_020,                                
@CSCN_CNTB_EMPR   TD_VC_020,                                
@CSTI_OPER_CNTB   TD_VC_003,                                
@CSCO_MONE   TD_VC_003,                                
@CNFA_CAMB   TD_NU_009_004,                                
@CNIM_MVTO_ORIG   TD_NU_016_004,                                
@CNIM_MVTO_CNTB   TD_NU_016_004,                                
@CSNU_DOCU_REFE   TD_VC_020,                                
@CDFE_DOCU_REFE TD_DT_001,                                
                                
@VSNO_DOCU        TD_VC_050,                                
@CSTI_AUXI_EMPR   TD_VC_001,                                
@VSST_RETE_DOCU   TD_VC_001,                                
@VSST_RETE_AUXI   TD_VC_001,                                
@VNIM_MAXI_NRET   TD_NU_016_004,                                
@VSST_STAT        TD_VC_001,                                
@VSST_BCON_AUXI   TD_VC_001,                                
@VSST_DETR        TD_VC_001,                                
                                
                                
@VSNU_DOCU_REFE   TD_VC_020,                                
@VDFE_DOCU_REFE   TD_DT_001,                                
                                
@VNIM_MVTO_CNTB   TD_NU_016_004,                                
@CSNU_ASTO   TD_VC_010,                                
@CSCO_OPRC_CNTB   TD_VC_003,                                
@VNIM_TOTA   TD_NU_016_004,                                
@CSCO_UNID_CNTB   TD_VC_003,                                
----------------------------------------                                
@VSNU_CNTB_EMPR  TD_VC_001,                                
@VSNU_ANNO       TD_VC_004,                                
@VSNU_MESE_INIC  TD_VC_002,  
@VSNU_MESE_FINA  TD_VC_002,                                
@VSCO_SUNA_NOCR  TD_VC_002,                                
@VSCO_SUNA_0001  TD_VC_002,                                
@VNNU_MESE       TD_IN_002_MESE,                          
@CNNU_MESE       TD_IN_002_MESE,                                
                                
@VNPO_IGV1        TD_NU_009_004,                                
@VNPO_IGV1_ANNO   TD_NU_009_004,                                
@VNPO_IGV2_ANNO   TD_NU_009_004,                                
@VNPO_REN1        TD_NU_009_004,                                
@VNPO_REN2        TD_NU_009_004,                                
@CSTI_DOCU_REFE   TD_VC_003,                              
@VSTI_DOCU   TD_VC_003,                              
@VDFE_DOCU_0001  TD_DT_001,                              
@VSNU_DOCU_0001  TD_VC_020,                            
@VNPO_IGV2   TD_NU_009_004,                            
                            
@VNPO_IGV1_0001        TD_NU_009_004, --segun el tipo de igv                         
@CSCO_EMPR   TD_VC_002,  -- para la empresa                            
                          
@VNID_IIES TD_IN_001, -- ID IES                          
@VNID_IIGV TD_IN_001, -- ID IGV                          
@VNID_COMP TD_IN_001, -- ID COMPRAS                          
@VNID_RENT TD_IN_001, -- ID IMP. RENTA                          
@VNID_NDOM TD_IN_001, -- ID IMP. RENTA NO DOMICILIADO            
@VNID_GAST TD_IN_001, -- ID GASTO NO GRAVABLE            
@VNIM_IIES_ORIG TD_NU_016_004,  -- IMPORTE IES                          
@VNIM_IIES_CNTX TD_NU_016_004,  -- IMPORTE IES                          
@VNIM_TOTA_ORIG_AUXI TD_NU_016_004,   -- IMPORTE IES                          
@VNIM_TOTA_CNTB_AUXI TD_NU_016_004,   -- IMPORTE IES                          
@CDFE_ASTO_CNTB TD_DT_001,            
@VDFE_ASTO_CNTB TD_DT_001,                     
@CSTI_CAMB TD_VC_003,                         
@VSTI_CAMB_BASE TD_VC_003,  --- ES DE LA CTA '42X'                        
@VNIM_0001 TD_NU_016_004,                       
@VSCO_EMPR_0001 TD_VC_002,                       
                      
/*-----*/                        
@VNIM_TOTA_CONT TD_NU_016_004,                      
@VNIM_IIGV_CONT TD_NU_016_004,                      
@VNIM_CONT_BASX TD_NU_016_004,                                     
@VNIM_CONT_BASY TD_NU_016_004,                
@VNIM_AFEC_CONX TD_NU_016_004,                      
@VNIM_INAF_CONX TD_NU_016_004,               
@VNIM_FONA_CONT TD_NU_016_004,                       
@VNIM_RENT_CONT TD_NU_016_004,                    
@VNIM_IIES_CONT TD_NU_016_004,                      
@VNIM_TOTA_CONT_AUXI TD_NU_016_004,                   
@VNIM_BASE_RXHH TD_NU_016_004,                   
            
@VNIM_RENO_ORIG TD_NU_016_004,                   
@VNIM_RENO_CONT TD_NU_016_004,                   
@VNIM_RENO_ORIX TD_NU_016_004,                   
@VNIM_RENO_CNTX TD_NU_016_004,                   
@VNIM_BASE_NDOM TD_NU_016_004,              
@VNIM_GAST_ORIG TD_NU_016_004,                   
@VNIM_GAST_CONT TD_NU_016_004,                  
@CSST_CNTA_CAMB TD_VC_003,            
@VSID_RENT_NDOM TD_VC_003,            
@VSID_GAST_NGRA TD_VC_003,            
@VSCO_SUNA_VARI TD_VC_002,            
@VDFE_0001         TD_DT_001,            
@VSCO_SUNA_LIQU    TD_VC_002,            
@VSCO_SUNA_POLI    TD_VC_002,            
@VSCO_SUNA_SERV    TD_VC_002,            
@VDFE_PAGO         TD_DT_001,            
@CDFE_DOCU_VENC    TD_DT_001,            
@VSTI_PERS_SUNA    TD_VC_003,           
@CDFE_INIC_PRES TD_DT_001,          
@CDFE_FINA_PRES TD_DT_001,                                 
@VDFE_INIC_PRES TD_DT_001,          
@VDFE_FINA_PRES TD_DT_001,           
@VNIM_MVTO_PAGA TD_NU_016_004,          
@VSTI_AUXI_EMPR TD_VC_001,          
@CSCO_DOCU_SUNA TD_VC_003,          
@CSNU_DOCU_SUNA TD_VC_020, 
@VSCO_DOCU_SUNA TD_VC_003,          
@VSNU_DOCU_SUNA TD_VC_020  
  
          
        
Create Table #TWMVTO_APAK          
(          
NU_ANNO Int NULL,          
NU_CNTB_EMPR Int NULL,          
SI_MVTO_CNTB Varchar(3) NULL,          
FE_DOCU DateTime NULL,          
TI_DOCU Varchar(3) NULL,          
NU_DOCU Varchar(20) NULL,          
CO_UNID_CNTB Varchar(3) NULL,          
CO_OPRC_CNTB Varchar(3) NULL,          
NU_MESE Int NULL,          
NU_ASTO Varchar(10) NULL,          
TI_AUXI_EMPR Varchar(1) NULL,          
CO_AUXI_EMPR Varchar(20) NULL,          
CO_CNTA_EMPR Varchar(20) NULL,          
TI_OPER Varchar(3) NULL,          
CO_MONE Varchar(3) NULL,          
FA_CAMB Numeric(15,6) NULL,          
IM_MVTO_ORIG Numeric(16,4) NULL,          
IM_MVTO_CNTB Numeric(16,4) NULL,      
TI_DOCU_DETR Varchar(3) NULL,          
NU_DOCU_DETR Varchar(20) NULL,          
FE_DOCU_DETR DateTime NULL,          
CO_EMPR Varchar(2) NULL,          
FE_ASTO_CNTB DateTime NULL,          
TI_CAMB Varchar(3) NULL,          
FE_DOCU_VENC DateTime NULL,          
FE_INIC_PRES DateTime NULL,          
FE_FINA_PRES DateTime NULL,          
FE_PAGO DateTime NULL          
)          
        
Create Table #TWMVTO_APAK_0001        
(CO_EMPR Varchar(2) NULL,         
NU_CNTB_EMPR Int NULL,          
CO_UNID_CNTB Varchar(3) NULL,          
CO_OPRC_CNTB Varchar(3) NULL,          
NU_ANNO Int NULL,          
NU_MESE Int NULL,          
NU_ASTO Varchar(10) NULL,          
FE_ASTO_CNTB DateTime NULL,          
TI_DOCU Varchar(3) NULL,          
NU_DOCU Varchar(20) NULL,         
FE_DOCU DateTime NULL,           
FE_DOCU_VENC DateTime NULL,          
FE_PAGO DateTime NULL,        
TI_AUXI_EMPR Varchar(1) NULL,          
CO_AUXI_EMPR Varchar(20) NULL,       
CO_CNTA_EMPR Varchar(20) NULL,          
TI_OPER Varchar(3) NULL,          
CO_MONE Varchar(3) NULL,          
FA_CAMB Numeric(15,6) NULL,          
IM_MVTO_ORIG Numeric(16,4) NULL,          
IM_MVTO_CNTB Numeric(16,4) NULL,          
TI_DOCU_DETR Varchar(3) NULL,          
NU_DOCU_DETR Varchar(20) NULL,          
FE_DOCU_DETR DateTime NULL,          
TI_CAMB Varchar(3) NULL,          
SI_MVTO_CNTB Varchar(3) NULL)          
          
Create Table #TWMVTO_CNTB_Q20_1                                
(CO_EMPR  varchar(5) NULL, --para el crosstab                            
 FE_DOCU   datetime       NULL,                                
 TI_DOCU_SUNA   char(02)       NULL,                                
 TI_DOCU_CNTB   char(03)       NULL,                                
 NO_DOCU        varchar(50)    NULL,                                
 NU_DOCU        char(20)       NULL,                                
 CO_UNID_CNTB   char(03)       NULL,                                
 CO_OPRC        char(03)       NULL,                                
 NU_ASTO        char(10)       NULL,                                
 CO_PROV    varchar(20)    NULL,                                
 NO_CORT_PROV   char(100)       NULL,                                
 NU_RUCS_PROV   char(20)       NULL,                                
 CO_MONE        char(03)       NULL,                                
 FA_CAMB        Numeric(15,6)   NULL,                                
 IM_INAF_ORIG   Numeric(16,4)  NULL,                                
 IM_AFEC_ORIG   Numeric(16,4)  NULL,                                
 IM_IIGV_ORIG   Numeric(16,4)  NULL,                                
 IM_FONA_ORIG   Numeric(16,4)  NULL,                          
 IM_RENT_ORIG   Numeric(16,4)  NULL,                                
 IM_TOTA_ORIG   Numeric(16,4)  NULL,                                
                                
 IM_AFEC_CNTB   Numeric(16,4)  NULL,                                
 IM_BASE_NGRA   Numeric(16,4)  NULL,                                
 IM_BASE_SDCF   Numeric(16,4)  NULL,                                
 IM_INAF_CNTB   Numeric(16,4)  NULL,            
 IM_BASE_RXHH   Numeric(16,4)  NULL,                                
                                
 IM_IIGV_CNTB   Numeric(16,4)  NULL,                                
 IM_IIGV_NGRA   Numeric(16,4)  NULL,                                
 IM_IIGV_SDCF   Numeric(16,4)  NULL,                           
 IM_RENT_CNTB   Numeric(16,4)  NULL,                                
 IM_IESS_CNTB   Numeric(16,4)  NULL,                                
 IM_TOTA_CNTB   Numeric(16,4)  NULL,                                
          
 IM_FONA_CNTB   Numeric(16,4)  NULL,                                
 IM_IIGV_IISC   Numeric(16,4)  NULL,                                                                       
 ST_RETE_AUXI   Char(01)       NULL,                                
 ST_RETE_DOCU   Char(01)       NULL,                                
 ST_RETE_BCON   Char(01)       NULL,                                
 ST_STAT      Char(1)        NULL,                                
 CO_AUXI_EMPR   VarChar(20)    NULL,                                
 ST_NDEB        Char(01)       NULL,                                
 NU_DOCU_REFE   VarChar(20)    NULL,                                
 FE_DOCU_REFE   datetime       NULL,                               
 ST_DETR        Varchar(2)     NULL,                            
 PO_IMPT        Numeric(9,4)     NULL, --para el tipo de impuesto 18,19..                            
 FE_0001        DateTime NULL,                         
 FE_INIC_PRES   DateTime NULL,          
 FE_FINA_PRES   DateTime NULL,          
 TI_AUXI_EMPR   Varchar(1) NULL,          
 CO_DOCU_SUNA   Varchar(3) NULL,          
 NU_DOCU_SUNA   Varchar(20) NULL  
  
 )                                
          
Create Table #TWMVTO_CANC           
(          
CO_CNTA_EMPR Varchar(20) NULL,          
TI_AUXI_EMPR Varchar(1) NULL,          
CO_AUXI_EMPR Varchar(20) NULL,          
TI_DOCU Varchar(3) NULL,          
NU_DOCU Varchar(20) NULL,          
FE_PAGO DateTime NULL,          
IM_MVTO_CNTB Numeric(16,4) NULL)           
          
Create Table #TWCABE_CURS           
(          
FE_DOCU Datetime NULL,           
TI_DOCU_CNTB Varchar(3) NULL,           
NU_DOCU Varchar(20) NULL,           
CO_UNID Varchar(3) NULL,           
CO_OPRC Varchar(3) NULL,           
NU_MESE Int NULL,                                 
NU_ASTO Varchar(10) NULL,           
TI_AUXI_EMPR Varchar(1) NULL,           
CO_AUXI Varchar(20) NULL,           
CN_CNTB_EMPR Varchar(20) NULL,           
TI_OPER_CNTB Varchar(3) NULL,                                 
CO_MONE Varchar(3) NULL,           
FA_CAMB Numeric(15,6) NULL,           
IM_MVTO_ORIG Numeric(16,4) NULL,           
IM_MVTO_CNTB Numeric(16,4) NULL,           
ID_CNTA Varchar(3) NULL,                                
PO_REN1 Numeric(9,4) NULL,           
PO_REN2 Numeric(9,4) NULL,           
PO_IGV1 Numeric(9,4) NULL,          
PO_IGV2 Numeric(9,4) NULL,          
TI_DOCU_REFE Varchar(3) NULL,           
NU_DOCU_REFE Varchar(20) NULL,           
FE_DOCU_REFE Datetime NULL,                            
CO_EMPR Varchar(2) NULL,           
FE_ASTO_CNTB Datetime NULL,           
TI_CAMB Varchar(3) NULL,           
ST_CNTA_CAMB Varchar(3) NULL,          
FE_DOCU_VENC Datetime NULL,           
FE_INIC_PRES Datetime NULL,          
FE_FINA_PRES Datetime NULL,          
CO_DOCU_SUNA Varchar(3) NULL,          
NU_DOCU_SUNA Varchar(20) NULL          
)          
          
          
CREATE INDEX [I#TWMVTO_APAK_01] ON [dbo].[#TWMVTO_APAK] (CO_EMPR,NU_CNTB_EMPR,CO_OPRC_CNTB,NU_ANNO,NU_MESE,CO_CNTA_EMPR)          
WITH FILLFACTOR = 80 ON [PRIMARY]                
          
CREATE INDEX [I#TWMVTO_APAK_02] ON [dbo].[#TWMVTO_APAK] (CO_EMPR,NU_CNTB_EMPR,NU_ANNO,NU_MESE,CO_CNTA_EMPR,TI_AUXI_EMPR,          
CO_AUXI_EMPR,TI_DOCU,NU_DOCU) WITH FILLFACTOR = 80 ON [PRIMARY]                
        
CREATE INDEX [I#TWMVTO_APAK_03] ON [dbo].[#TWMVTO_APAK_0001] (CO_EMPR,NU_CNTB_EMPR,NU_ANNO,NU_MESE,CO_CNTA_EMPR,TI_AUXI_EMPR,          
CO_AUXI_EMPR,TI_DOCU,NU_DOCU) WITH FILLFACTOR = 80 ON [PRIMARY]                
          
CREATE INDEX [I#TWCABE_CURS_01] ON [dbo].[#TWCABE_CURS] (FE_DOCU)          
WITH FILLFACTOR = 80 ON [PRIMARY]                
          
CREATE INDEX [I#TWMVTO_CANC_01] ON [dbo].[#TWMVTO_CANC] (TI_AUXI_EMPR,CO_AUXI_EMPR,TI_DOCU,NU_DOCU)          
WITH FILLFACTOR = 80 ON [PRIMARY]             
          
CREATE INDEX [I#TWMVTO_CNTB_Q20_1_01] ON [dbo].[#TWMVTO_CNTB_Q20_1] (CO_PROV,TI_DOCU_CNTB,NU_DOCU)          
WITH FILLFACTOR = 80 ON [PRIMARY]             

Select @ISCO_EMPR = CO_EMPR,          
@ISCA_WHER_LOCA = ' ',          
@INNU_CNTB_EMPR = NU_CNTB_EMPR,          
@INNU_ANNO = NU_ANNO,           
@INNU_MESE_INIC = NU_MESE,           
@INNU_MESE_FINA = NU_MESE          
From #TWPARA_APAK          


    
Select @VNIM_TOTA_CONT = 0.00                      
Select @VNIM_IIGV_CONT = 0.00                      
Select @VNIM_AFEC_CONX = 0.00                      
Select @VNIM_INAF_CONX = 0.00   
Select @VNIM_FONA_CONT = 0.00                      
Select @VNIM_RENT_CONT = 0.00                      
Select @VNIM_IIES_CONT = 0.00                      
Select @VNIM_TOTA_CONT_AUXI = 0.00                      
Select @VNIM_BASE_RXHH = 0.00                  
Select @VNIM_BASE_NDOM = 0.00                  
                                
/*----- Inicializando las variables -----*/                                
Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                                
Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                                
Select @VDFE_DOCU      = Null   Select @VSTI_DOCU_CNTB = Null                                
Select @VSNU_ASTO      = Null   Select @VSCO_PROV      = Null                         
Select @VSNO_CORT_PROV = Null   Select @VSNU_RUCS_PROV = Null                                
Select @VSCO_MONE      = Null   Select @VNIM_AFEC_ORIX = 0.00                                
Select @VNIM_INAF_ORIX = 0.00   Select @VNIM_IIGV_ORIX = 0.00                                
Select @VNIM_FONA_ORIX = 0.00   Select @VNIM_RENT_ORIX = 0.00                                
Select @VNIM_TOTA_ORIX = 0.00   Select @VNIM_AFEC_CNTX = 0.00                                
Select @VNIM_INAF_CNTX = 0.00   Select @VNIM_IIGV_CNTX = 0.00                                
Select @VNIM_FONA_CNTX = 0.00   Select @VNIM_RENT_CNTX = 0.00                              
Select @VNIM_TOTA_ORIX = 0.00   Select @VNFA_CAMB      = 0.00                                
Select @VNIM_MAXI_NRET = 0.00             
Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                               
Select @VSCO_SUNA_NOCR = Null   Select @VNPO_IGV1_0001 = 0.00                          
Select @VNIM_IIES_ORIG = 0.00                        
Select @VNIM_IIES_CNTX = 0.00                         
Select @VSTI_CAMB_BASE = NULL                          
Select @VDFE_ASTO_CNTB = NULL                          
Select @VSID_RENT_NDOM = ''            
Select @VSID_GAST_NGRA = ''            
Select @VNIM_RENO_ORIG = 0            
Select @VNIM_RENO_CONT = 0            
Select @VNIM_RENO_ORIX = 0            
Select @VNIM_RENO_CNTX = 0            
Select @VNIM_GAST_CONT = 0            
Select @VNIM_GAST_ORIG = 0            
Select @VDFE_0001 = NULL              
Select @VSTI_PERS_SUNA = NULL            
Select @VNIM_TOTA_ORIG_AUXI = 0          
Select @VDFE_INIC_PRES = NULL          
Select @VDFE_FINA_PRES = NULL            
Select @VSTI_AUXI_EMPR = NULL          
Select @VSCO_PROV = NULL          
Select @VSCO_DOCU_SUNA = NULL          
Select @VSNU_DOCU_SUNA = NULL          
  
          
--Select @VSST_STAT ='S'          
Select @VSST_STAT ='N'          
Select @VSST_STAT = IsNull(ST_RETE_IGV1,'N')          
From TMPARA_CONT        
Where CO_EMPR = @ISCO_EMPR                                
                          
/*-- Obteniendo datos de Nro. de Contabilidad  -----*/                                
Select @VSCO_MONE_BAS1 = CO_MONE,                                
       @VSID_COMP      = ID_COMP,                        
       @VSID_IIGV      = ID_IMPT_VENT,                                 
       @VSID_FONA    = ID_FONA,                                 
       @VSID_RENT      = ID_CUAR,            
@VSID_RENT_NDOM = IsNull(ID_RENT_NDOM,''),            
@VSID_GAST_NGRA = IsNull(ID_GAST_NGRA,'')            
From  TTCNTB_EMPR                                
Where CO_EMPR = @ISCO_EMPR                                 
And   NU_CNTB_EMPR = @INNU_CNTB_EMPR                          
                               
Select @VNIM_MAXI_NRET = IM_MAXI_NRET,     
@VSCO_SUNA_NOCR = CO_SUNA_NOCR,            
@VSCO_SUNA_LIQU = IsNull(Rtrim(Ltrim(CO_SUNA_LIQU)),''),            
@VSCO_SUNA_POLI = IsNull(Rtrim(Ltrim(CO_SUNA_POLI)),''),            
@VSCO_SUNA_SERV = IsNull(Rtrim(Ltrim(CO_SUNA_SERV)),'')                              
From TMPARA_CONT                                
Where CO_EMPR = @ISCO_EMPR       
                                
Select @CNPO_IGV1 = 0.00  Select @CNPO_IGV2 = 0.00                                
Select @CNPO_REN1 = 0.00  Select @CNPO_REN2 = 0.00                                
                                
/*----- Cursor para el reporte de Registro de Compras -----*/                    
Select @VSNU_CNTB_EMPR = Convert(Varchar(1),@INNU_CNTB_EMPR)                                
Select @VSNU_ANNO = Convert(Varchar(4),@INNU_ANNO )                           
Select @VSNU_MESE_INIC = Convert(Varchar(2),@INNU_MESE_INIC )                                
Select @VSNU_MESE_FINA = Convert(Varchar(2),@INNU_MESE_FINA )                                
                              
                              
-- OBTENGO EL IGV ANTES DE DEFINIR EL CURSOR                              
                              
SELECT @VNPO_IGV1_ANNO = PO_IMPT_VEN1,                              
       @VNPO_IGV2_ANNO = PO_IMPT_VEN2,                               
       @VNPO_REN1 = PO_IMPT_REN1,                              
       @VNPO_REN2 = PO_IMPT_REN2                              
From  TTPORC_IMPT                              
Where CO_EMPR = @ISCO_EMPR                              
And   NU_ANNO = @INNU_ANNO                     
And   NU_MESE = @INNU_MESE_FINA                              
                              
If @VNPO_IGV1_ANNO IS Null                              
 Select @VNPO_IGV1_ANNO = 0.00                              
If @VNPO_IGV2_ANNO IS Null                              
 Select @VNPO_IGV2_ANNO = 0.00                              
If @VNPO_REN1 IS Null                              
 Select @VNPO_REN1 = 0.00                              
If @VNPO_REN2 IS Null                              
 Select @VNPO_REN2 = 0.00                              
                                              
Select @VNID_IIES = 0                            
Select @VNID_RENT = 0                          
Select @VNID_NDOM = 0                          
Select @VNID_GAST = 0                 
          
Insert Into #TWMVTO_APAK_0001 (CO_EMPR,NU_ANNO,NU_CNTB_EMPR,SI_MVTO_CNTB,FE_DOCU,TI_DOCU,NU_DOCU,CO_UNID_CNTB,CO_OPRC_CNTB,NU_MESE,    
NU_ASTO,TI_AUXI_EMPR, CO_AUXI_EMPR,CO_CNTA_EMPR,TI_OPER,CO_MONE,FA_CAMB,IM_MVTO_ORIG,IM_MVTO_CNTB,TI_DOCU_DETR,NU_DOCU_DETR,          
FE_DOCU_DETR,FE_ASTO_CNTB,TI_CAMB,FE_DOCU_VENC,FE_PAGO)          
Select DISTINCT t1.CO_EMPR, t1.NU_ANNO, t1.NU_CNTB_EMPR, t1.SI_MVTO_CNTB,t1.FE_DOCU, t1.TI_DOCU, t1.NU_DOCU, t1.CO_UNID_CNTB,                                 
t1.CO_OPRC_CNTB, t1.NU_MESE, t1.NU_ASTO, t1.TI_AUXI_EMPR,                                 
t1.CO_AUXI_EMPR, t1.CO_CNTA_EMPR, t1.TI_OPER, t1.CO_MONE,                                  
t1.FA_CAMB, t1.IM_MVTO_ORIG, t1.IM_MVTO_CNTB,           
t1.TI_DOCU_DETR, t1.NU_DOCU_DETR, t1.FE_DOCU_DETR,             
t1.FE_ASTO_CNTB, t1.TI_CAMB,t1.FE_DOCU_VENC, t1.FE_PAGO          
From TXMVTO_CNTB t1    
Where t1.CO_EMPR = @ISCO_EMPR            
And t1.NU_CNTB_EMPR = @INNU_CNTB_EMPR            
And t1.NU_ANNO * 100 + t1.NU_MESE <= @INNU_ANNO * 100 + @INNU_MESE_INIC      
And t1.SI_MVTO_CNTB = 'APR'               
And t1.ST_DIFE_CAMB = 'N'          
And t1.ST_GEST = 'N'          
And t1.ST_REDO = 'N'         
    
Insert Into #TWMVTO_APAK (NU_ANNO,NU_CNTB_EMPR,SI_MVTO_CNTB,FE_DOCU,TI_DOCU,NU_DOCU,CO_UNID_CNTB,CO_OPRC_CNTB,NU_MESE,NU_ASTO,TI_AUXI_EMPR,          
CO_AUXI_EMPR,CO_CNTA_EMPR,TI_OPER,CO_MONE,FA_CAMB,IM_MVTO_ORIG,IM_MVTO_CNTB,TI_DOCU_DETR,NU_DOCU_DETR,          
FE_DOCU_DETR,CO_EMPR,FE_ASTO_CNTB,TI_CAMB,FE_DOCU_VENC,FE_INIC_PRES,FE_FINA_PRES,FE_PAGO)          
Select DISTINCT t1.NU_ANNO,t1.NU_CNTB_EMPR,t1.SI_MVTO_CNTB,t1.FE_DOCU, t1.TI_DOCU, t1.NU_DOCU, t1.CO_UNID_CNTB,    
t1.CO_OPRC_CNTB, t1.NU_MESE, t1.NU_ASTO, t1.TI_AUXI_EMPR,                             
t1.CO_AUXI_EMPR, t1.CO_CNTA_EMPR, t1.TI_OPER, t1.CO_MONE,                              
t1.FA_CAMB, t1.IM_MVTO_ORIG, t1.IM_MVTO_CNTB,       
t1.TI_DOCU_DETR, t1.NU_DOCU_DETR, t1.FE_DOCU_DETR,         
t1.CO_EMPR,t1.FE_ASTO_CNTB, t1.TI_CAMB,       
t1.FE_DOCU_VENC, null, null, t1.FE_PAGO      
From #TWMVTO_APAK_0001 t1 ,     
 (SELECT #TWMVTO_APAK_0001.NU_CNTB_EMPR, #TWMVTO_APAK_0001.CO_UNID_CNTB, #TWMVTO_APAK_0001.CO_OPRC_CNTB,     
       #TWMVTO_APAK_0001.NU_ANNO, #TWMVTO_APAK_0001.NU_MESE, #TWMVTO_APAK_0001.NU_ASTO     
        FROM #TWMVTO_APAK_0001     
 Where #TWMVTO_APAK_0001.CO_EMPR  = @ISCO_EMPR    
 And #TWMVTO_APAK_0001.NU_CNTB_EMPR = @INNU_CNTB_EMPR        
 And #TWMVTO_APAK_0001.NU_ANNO * 100 + #TWMVTO_APAK_0001.NU_MESE <= @INNU_ANNO * 100 + @INNU_MESE_INIC        
 And #TWMVTO_APAK_0001.CO_OPRC_CNTB In (                            
      Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1         
      Where T1.CO_EMPR = #TWMVTO_APAK_0001.CO_EMPR         
      And T1.NU_CNTB_EMPR = #TWMVTO_APAK_0001.NU_CNTB_EMPR         
      And T1.ID_OPRC   in (@VSID_COMP, '025'))    
             And #TWMVTO_APAK_0001.CO_CNTA_EMPR + #TWMVTO_APAK_0001.TI_AUXI_EMPR + #TWMVTO_APAK_0001.CO_AUXI_EMPR + #TWMVTO_APAK_0001.TI_DOCU + #TWMVTO_APAK_0001.NU_DOCU IN     
  (Select T1.CO_CNTA_EMPR + T1.TI_AUXI_EMPR + T1.CO_AUXI_EMPR + T1.TI_DOCU + T1.NU_DOCU    
  From #TWMVTO_APAK_0001 t1, TTDOCU_CNTB t2    
  Where CO_EMPR = @ISCO_EMPR    
  And t1.NU_CNTB_EMPR = @INNU_CNTB_EMPR        
  And T1.NU_ANNO = @INNU_ANNO    
  And T1.NU_MESE <= @INNU_MESE_INIC    
  And T1.SI_MVTO_CNTB = 'APR'    
--  And t1.TI_DOCU = 'RXH'  
  And t2.TI_DOCU = t1.TI_DOCU    
--  And t1.TI_DOCU = t2.TI_DOCU    
  And t2.ST_DOCU_0010 = 'S'    
  GROUP BY T1.CO_CNTA_EMPR, T1.TI_AUXI_EMPR, T1.CO_AUXI_EMPR, T1.TI_DOCU, T1.NU_DOCU    
  HAVING SUM(PATINDEX(T1.TI_OPER, 'CAR')*T1.IM_MVTO_ORIG) - SUM(PATINDEX(T1.TI_OPER, 'ABO')*T1.IM_MVTO_ORIG) = 0)) t2    
Where t1.CO_EMPR = @ISCO_EMPR        
And t1.NU_CNTB_EMPR = t2.NU_CNTB_EMPR    
And T1.CO_UNID_CNTB = t2.CO_UNID_CNTB    
And T1.CO_OPRC_CNTB = t2.CO_OPRC_CNTB    
And T1.NU_ANNO = t2.NU_ANNO    
And T1.NU_MESE = t2.NU_MESE    
And T1.NU_ASTO = t2.NU_ASTO    
And t1.SI_MVTO_CNTB = 'APR'    
       
Exec('Insert Into #TWCABE_CURS(          
FE_DOCU,TI_DOCU_CNTB,NU_DOCU,CO_UNID,CO_OPRC,NU_MESE,NU_ASTO,TI_AUXI_EMPR,CO_AUXI,CN_CNTB_EMPR,          
TI_OPER_CNTB,CO_MONE,FA_CAMB,IM_MVTO_ORIG,IM_MVTO_CNTB,ID_CNTA,PO_REN1,PO_REN2,PO_IGV1,PO_IGV2,          
TI_DOCU_REFE,NU_DOCU_REFE,FE_DOCU_REFE,CO_EMPR,FE_ASTO_CNTB,TI_CAMB,ST_CNTA_CAMB,FE_DOCU_VENC,          
FE_INIC_PRES,FE_FINA_PRES,CO_DOCU_SUNA,NU_DOCU_SUNA)          
Select  TXMVTO_CNTB.FE_DOCU, TXMVTO_CNTB.TI_DOCU, TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.CO_UNID_CNTB,                                 
TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_AUXI_EMPR,                                 
TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_OPER, TXMVTO_CNTB.CO_MONE,                                  
TXMVTO_CNTB.FA_CAMB, TXMVTO_CNTB.IM_MVTO_ORIG, TXMVTO_CNTB.IM_MVTO_CNTB, TTIDEN_CNTA.ID_CNTA,                   
IsNull(TTPORC_IMPT.PO_IMPT_REN1,0), IsNull(TTPORC_IMPT.PO_IMPT_REN2,0),                                 
IsNull(TTPORC_IMPT.PO_IMPT_VEN1,0), IsNull(TTPORC_IMPT.PO_IMPT_VEN2,0),             
TXMVTO_CNTB.TI_DOCU_DETR, TXMVTO_CNTB.NU_DOCU_DETR, TXMVTO_CNTB.FE_DOCU_DETR,             
TXMVTO_CNTB.CO_EMPR,                         
TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.TI_CAMB, TMPLAN_ANNO.ST_CNTA_CAMB,            
TXMVTO_CNTB.FE_DOCU_VENC, TXMVTO_CNTB.FE_INIC_PRES, TXMVTO_CNTB.FE_FINA_PRES,          
TMAUXI_EMPR.CO_DOCU_SUNA,TMAUXI_EMPR.NU_DOCU_SUNA  
From #TWMVTO_APAK AS TXMVTO_CNTB            
Left Outer Join TTPORC_IMPT             
On TTPORC_IMPT.CO_EMPR = TXMVTO_CNTB.CO_EMPR               
And TTPORC_IMPT.NU_ANNO = TXMVTO_CNTB.NU_ANNO                         
And TTPORC_IMPT.NU_MESE = TXMVTO_CNTB.NU_MESE          
LEFT OUTER JOIN TMAUXI_EMPR           
ON TMAUXI_EMPR.CO_EMPR = TXMVTO_CNTB.CO_EMPR          
And TMAUXI_EMPR.TI_AUXI_EMPR = TXMVTO_CNTB.TI_AUXI_EMPR          
And TMAUXI_EMPR.CO_AUXI_EMPR = TXMVTO_CNTB.CO_AUXI_EMPR,          
TTIDEN_CNTA, TMPLAN_ANNO          
Where TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"            
And TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '            
And TXMVTO_CNTB.CO_OPRC_CNTB In (                                
     Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1             
     Where T1.CO_EMPR = TXMVTO_CNTB.CO_EMPR             
     And T1.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR             
     And T1.ID_OPRC   = "' + @VSID_COMP + '" )                                 
 And TXMVTO_CNTB.NU_ANNO * 100 + TXMVTO_CNTB.NU_MESE <= ' + @VSNU_ANNO + ' * 100 + ' + @VSNU_MESE_INIC + '    
 And ((TXMVTO_CNTB.CO_CNTA_EMPR In (                                 
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2             
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR             
     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR             
     And T2.ID_CNTA = "' + @VSID_COMP + '" ) ' + @ISCA_WHER_LOCA + ' )                            
 Or (TXMVTO_CNTB.CO_CNTA_EMPR In (             
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2             
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR             
    And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR             
     And T2.ID_CNTA In ("' + @VSID_IIGV + '", "' + @VSID_RENT + '", "' + @VSID_FONA + '", "' + @VSID_RENT_NDOM + '", "' + @VSID_GAST_NGRA + '"  ) ) ) )              
 And TXMVTO_CNTB.SI_MVTO_CNTB = "APR"             
 and TTIDEN_CNTA.CO_EMPR   = TXMVTO_CNTB.CO_EMPR             
 and TTIDEN_CNTA.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR             
 and TTIDEN_CNTA.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR             
 And TMPLAN_ANNO.CO_EMPR = TXMVTO_CNTB.CO_EMPR            
 And TMPLAN_ANNO.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR             
 Union All             
 Select Null, Null, Null, "99", "999", 99, "9999999999", Null, Null,             
 Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null,NULL,           
 NULL,NULL,NULL,NULL  
 ' )               
-- Order By 4,5,6,7 ASC, 16 Asc, 10 DESC ,8,9 ASC          
---SELECT 'PERCY'    
    
Declare CU_TXMVTO_CNTB_Q20_1 Cursor For            
Select FE_DOCU,TI_DOCU_CNTB,NU_DOCU,CO_UNID,CO_OPRC,NU_MESE,NU_ASTO,TI_AUXI_EMPR,CO_AUXI,CN_CNTB_EMPR,          
TI_OPER_CNTB,CO_MONE,FA_CAMB,IM_MVTO_ORIG,IM_MVTO_CNTB,ID_CNTA,PO_REN1,PO_REN2,PO_IGV1,PO_IGV2,          
TI_DOCU_REFE,NU_DOCU_REFE,FE_DOCU_REFE,CO_EMPR,FE_ASTO_CNTB,TI_CAMB,ST_CNTA_CAMB,FE_DOCU_VENC,           
FE_INIC_PRES,FE_FINA_PRES,CO_DOCU_SUNA,NU_DOCU_SUNA  
From #TWCABE_CURS          
Order By 4,5,6,7 ASC, 16 Asc, 10 DESC ,8,9 ASC 
                                
Open CU_TXMVTO_CNTB_Q20_1                                
Fetch CU_TXMVTO_CNTB_Q20_1 into                                 
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                                 
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                                 
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                                
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,  @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                            
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC,           
    @CDFE_INIC_PRES,@CDFE_FINA_PRES,@CSCO_DOCU_SUNA,@CSNU_DOCU_SUNA  
                                
Select @VSNU_ASTO_BASE = Null                                
Select @VSCO_MONE_BASE = Null                                
                                
While @@Fetch_status = 0                                
Begin                                
                             
 /*----- Actualiza Temporal -----*/                                
 If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                                 
    Substring( Convert(Varchar(2),100 + @CNNU_MESE),2,2) + Rtrim(@CSNU_ASTO)                                 
    And @VSCO_MONE_BASE IS NOT Null                                
 Begin                  
  Select @VNIM_TOTA_BASX = Round(@VNIM_TOTA_ORIG - @VNIM_IIGV_ORIG,2)                     
  Select @VNIM_TOTA_BASY = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100), 2)             
--** LEE DATOS CONTABLES                       
  Select @VNIM_CONT_BASX = Round(@VNIM_TOTA_CONT - @VNIM_IIGV_CONT,2)                                      
  Select @VNIM_CONT_BASY = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)                                      
--** LEE DATOS CONTABLES                       
                               
  If Abs(Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)) > 0.50                                
  Begin                                
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASY,2)                                
    Select @VNIM_INAF_ORIX = Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)                  
--** LEE DE DATOS CONTABLES                      
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASY,2)                                      
    Select @VNIM_INAF_CONX = Round(@VNIM_CONT_BASX - @VNIM_CONT_BASY,2)                                      
--** LEE DE DATOS CONTABLES                      
  End                                
  Else                               
  Begin                  
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASX,2)                                
    Select @VNIM_INAF_ORIX = 0.00            
--** LEE DE DATOS CONTABLES                      
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASX,2)                                      
    Select @VNIM_INAF_CONX = 0.00                                      
--** LEE DE DATOS CONTABLES                      
  End                                
                                
  If @VSCO_MONE != @VSCO_MONE_BAS1                                
  Begin                              
    Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG                                
    Select @VNIM_FONA_ORIX = @VNIM_FONA_ORIG                                
    Select @VNIM_RENT_ORIX = @VNIM_RENT_ORIG                                
    Select @VNIM_RENO_ORIX = @VNIM_RENO_ORIG                                
    Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX + @VNIM_RENT_ORIX)                                                  

    Select @VNIM_AFEC_CNTX = @VNIM_AFEC_CONX                      
    Select @VNIM_INAF_CNTX = @VNIM_INAF_CONX                      
    Select @VNIM_IIGV_CNTX = @VNIM_IIGV_CONT                           
    Select @VNIM_FONA_CNTX = @VNIM_FONA_CONT                      
    Select @VNIM_RENT_CNTX = @VNIM_RENT_CONT                      
    Select @VNIM_RENO_CNTX = @VNIM_RENO_CONT                      
    Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CONT + @VNIM_FONA_CONT + @VNIM_RENT_CONT                           
    Select @VNIM_IIES_CNTX = @VNIM_IIES_CONT                      
    Select @VNIM_TOTA_CNTB_AUXI = @VNIM_TOTA_CONT_AUXI                      
                          
  End                        
  Else                                
  Begin                                
/*
    Select @VNIM_AFEC_CNTX = Round(@VNIM_AFEC_ORIX,2)                                
    Select @VNIM_INAF_CNTX = Round(@VNIM_INAF_ORIX,2)                                
    Select @VNIM_IIGV_CNTX = Round(@VNIM_IIGV_ORIG,2)                                
    Select @VNIM_FONA_CNTX = Round(@VNIM_FONA_ORIG,2)                                
    Select @VNIM_RENT_CNTX = Round(@VNIM_RENT_ORIG,2)                                
    Select @VNIM_RENO_CNTX = Round(@VNIM_RENO_ORIG,2)                                
    Select @VNIM_TOTA_CNTX = Round((@VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX +@VNIM_RENT_ORIX)),2)                                
    Select @VNIM_IIES_CNTX = Round(@VNIM_IIES_ORIG,2)                
    Select @VNIM_TOTA_CNTB_AUXI = Round(@VNIM_TOTA_ORIG_AUXI,2)             
*/
    Select @VNIM_AFEC_CNTX = @VNIM_AFEC_CONX                      
    Select @VNIM_INAF_CNTX = @VNIM_INAF_CONX                      
    Select @VNIM_IIGV_CNTX = @VNIM_IIGV_CONT                           
    Select @VNIM_FONA_CNTX = @VNIM_FONA_CONT                      
    Select @VNIM_RENT_CNTX = @VNIM_RENT_CONT                      
    Select @VNIM_RENO_CNTX = @VNIM_RENO_CONT                      
    Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CONT + @VNIM_FONA_CONT + @VNIM_RENT_CONT                           
    Select @VNIM_IIES_CNTX = @VNIM_IIES_CONT                      
    Select @VNIM_TOTA_CNTB_AUXI = @VNIM_TOTA_CONT_AUXI                                   

    Select @VNIM_AFEC_ORIX = 0.00            
   Select @VNIM_INAF_ORIX = 0.00            
    Select @VNIM_IIGV_ORIX = 0.00            
    Select @VNIM_FONA_ORIX = 0.00            
    Select @VNIM_RENT_ORIX = 0.00            
    Select @VNIM_RENO_ORIX = 0.00            
    Select @VNIM_TOTA_ORIX = 0.00            
    Select @VNFA_CAMB = Null            
                         

                          
  End                            
                          
-- CASO IMPUESTO A LA RENTA 4TA CATEGORIA            
If @VNID_IIES = 1 Or @VNID_RENT = 1                           
  Begin                           
 Select @VNIM_AFEC_CNTX = @VNIM_TOTA_CNTB_AUXI + Abs(@VNIM_RENT_CNTX) + Abs(@VNIM_IIES_CNTX)                    
-- RECIBOS POR HONORARIOS                  
 Select @VNIM_BASE_RXHH = @VNIM_AFEC_CNTX                  
 Select @VNIM_AFEC_CNTX = 0                  
-- RECIBOS POR HONORARIOS                  
 Select @VNIM_RENT_ORIG = Abs(@VNIM_RENT_ORIG)                          
 Select @VNIM_RENT_CNTX = Abs(@VNIM_RENT_CNTX)            
 Select @VNIM_IIES_CNTX = Abs(@VNIM_IIES_CNTX)                          
 Select @VNIM_IIES_ORIG = Abs(@VNIM_IIES_ORIG)                          
 Select @VNIM_INAF_CNTX = 0                          
 Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CNTB_AUXI                           
                          
  If @VSCO_MONE != @VSCO_MONE_BAS1                           
  Begin                            
      Select @VNIM_AFEC_ORIX = 0--@VNIM_TOTA_ORIG_AUXI + Abs(@VNIM_RENT_ORIG) + Abs(@VNIM_IIES_ORIG)                          
      Select @VNIM_INAF_ORIX = 0.00            
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG_AUXI                           
  End                          
End                          
            
            
-- CASO IMPUESTO RENTA NO DOMICILIADOS            
If @VNID_NDOM = 1 And @VSTI_PERS_SUNA = '03'--- CASO AUXILIAR ES NO DOMICILIADO            
  Begin                           
 Select @VNIM_AFEC_CNTX = @VNIM_TOTA_CNTB_AUXI + Abs(@VNIM_RENO_CNTX)            
 Select @VNIM_BASE_NDOM = @VNIM_AFEC_CNTX                  
 Select @VNIM_AFEC_CNTX = 0                  
 Select @VNIM_RENO_ORIG = 0--Abs(@VNIM_RENO_ORIG)                          
 Select @VNIM_RENO_CNTX = Abs(@VNIM_RENO_CNTX)                          
 Select @VNIM_INAF_CNTX = 0                          
 Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CNTB_AUXI                           
                          
  If @VSCO_MONE != @VSCO_MONE_BAS1         
  Begin                            
      Select @VNIM_AFEC_ORIX = 0--@VNIM_TOTA_ORIG_AUXI + Abs(@VNIM_RENO_ORIG)             
      Select @VNIM_INAF_ORIX = 0.00            
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG_AUXI                           
  End                          
End  -- FIN CASO IMPUESTO RENTA NO DOMICILIADOS              
            
-- CASO GASTOS NO GRAVADOS            
If @VNID_GAST = 1            
  Begin                           
 Select @VNIM_AFEC_CNTX = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)            
 Select @VNIM_INAF_CNTX = IsNull(@VNIM_GAST_CONT,0)            
 Select @VNIM_TOTA_CNTX = IsNull(@VNIM_AFEC_CNTX,0) + IsNull(@VNIM_INAF_CNTX,0) + IsNull(@VNIM_IIGV_CONT,0) ---@VNIM_TOTA_CNTB_AUXI                           
                          
  If @VSCO_MONE != @VSCO_MONE_BAS1                           
  Begin             
      Select @VNIM_AFEC_ORIX = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100), 2)            
      Select @VNIM_INAF_ORIX = @VNIM_GAST_ORIG            
      Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG            
      Select @VNIM_TOTA_ORIX = @VNIM_AFEC_ORIX +  @VNIM_INAF_ORIX  + @VNIM_IIGV_ORIX                       
  End                      
End  -- FIN CASO gastos no gravados            
                          
If @VNID_COMP = 1 And @VNID_IIGV = 0 And @VNID_IIES = 0 And @VNID_RENT = 0 And @VNID_NDOM = 0 And @VNID_GAST = 0                    
Begin                   
 Select @VNIM_INAF_CNTX = @VNIM_AFEC_CNTX                          
 Select @VNIM_AFEC_CNTX = 0                            
 Select @VNIM_INAF_CNTX = @VNIM_TOTA_CNTX                          
End                          
-- FIN SE AUMENTO               
                               
  /*-- OBTENGO ESTATUS DE RETENCION DEL DOCUMENTO --*/                                
  Select @VSCO_SUNA = CO_SUNA, @VSNO_DOCU = NO_DOCU, @VSST_RETE_DOCU = ST_RETE                                
  From TTDOCU_CNTB                                
  Where TI_DOCU = @VSTI_DOCU_CNTB                                
                                 
  Select @VSTI_DOCU_AUXI = @VSTI_DOCU_CNTB                                
                            
---- CONVIERTO EL PORCENTAJE DEL CURSOR EN CARACTER ANTES DE INSERTAR A LA TEMPO --                            
                            
SELECT @VNPO_IGV1_0001 = ROUND(@VNPO_IGV1,2)                            
                                
/*-- INGRESO ESTATUS DE RETENCION DEL DOCUMENTO Y AUXILIAR --*/                                
                        
   Insert Into #TWMVTO_CNTB_Q20_1 (                                
   CO_EMPR, FE_DOCU     , TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU     , NU_DOCU     , CO_UNID_CNTB,                                
   CO_OPRC     , NU_ASTO     , CO_PROV     , NO_CORT_PROV, NU_RUCS_PROV, CO_MONE     ,            
   FA_CAMB    , IM_INAF_ORIG, IM_AFEC_ORIG, IM_IIGV_ORIG, IM_FONA_ORIG, IM_RENT_ORIG,                                
   IM_TOTA_ORIG, IM_AFEC_CNTB, IM_BASE_NGRA, IM_BASE_SDCF, IM_INAF_CNTB, IM_BASE_RXHH,                                
   IM_IIGV_CNTB, IM_IIGV_NGRA, IM_IIGV_SDCF, IM_RENT_CNTB, IM_IESS_CNTB, IM_TOTA_CNTB,                                
   IM_FONA_CNTB, IM_IIGV_IISC, ST_RETE_AUXI, ST_RETE_DOCU, ST_RETE_BCON, ST_STAT     ,           
   CO_AUXI_EMPR, ST_NDEB,      NU_DOCU_REFE, FE_DOCU_REFE, PO_IMPT,FE_0001,           
   FE_INIC_PRES,FE_FINA_PRES,TI_AUXI_EMPR,CO_DOCU_SUNA,NU_DOCU_SUNA)          
   Values(             
   @CSCO_EMPR, @VDFE_DOCU,     @VSCO_SUNA,      @VSTI_DOCU_AUXI, @VSNO_DOCU,      @VSNU_DOCU,      @VSCO_UNID,                                
   @VSCO_OPRC,      @VSNU_ASTO,  @VSCO_PROV,      @VSNO_CORT_PROV, @VSNU_RUCS_PROV, @VSCO_MONE,                                
   @VNFA_CAMB,      @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_IIGV_ORIX, @VNIM_FONA_ORIX, @VNIM_RENT_ORIX,           
   @VNIM_TOTA_ORIX, @VNIM_AFEC_CNTX, 0              , @VNIM_BASE_NDOM   , @VNIM_INAF_CNTX, @VNIM_BASE_RXHH,                
   @VNIM_IIGV_CNTX, 0              , @VNIM_RENO_CNTX, @VNIM_RENT_CNTX, @VNIM_IIES_CNTX, @VNIM_TOTA_CNTX,                                
   @VNIM_FONA_CNTX, 0              , @VSST_RETE_AUXI, @VSST_RETE_DOCU, @VSST_BCON_AUXI, @VSST_STAT,                                
   '',  'N',       @VSNU_DOCU_REFE, @VDFE_DOCU_REFE, ROUND(@VNPO_IGV1_0001,2),@VDFE_0001,           
   @VDFE_INIC_PRES,@VDFE_FINA_PRES,@VSTI_AUXI_EMPR,@VSCO_DOCU_SUNA,@VSNU_DOCU_SUNA)          
                        
   Select @VSTI_CAMB_BASE = NULL                            
   Select @VDFE_ASTO_CNTB = NULL                            
   Select @VSCO_MONE_BASE = Null   Select @VDFE_DOCU = Null                                
   Select @VSTI_DOCU_CNTB = Null   Select @VSNU_ASTO = Null                                
   Select @VSCO_PROV = Null        Select @VSNO_CORT_PROV = Null                                
   Select @VSNU_RUCS_PROV  = Null  Select @VSCO_MONE = Null                                
   Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                             
   Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                                
   Select @VNIM_AFEC_ORIX = 0.00   Select @VNIM_INAF_ORIX = 0.00                                
   Select @VNIM_IIGV_ORIX = 0.00   Select @VNIM_FONA_ORIX = 0.00                                
   Select @VNIM_RENT_ORIX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                                
   Select @VNIM_AFEC_CNTX = 0.00   Select @VNIM_INAF_CNTX = 0.00                                
   Select @VNIM_IIGV_CNTX = 0.00   Select @VNIM_FONA_CNTX = 0.00                                   
   Select @VNIM_RENT_CNTX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                                
   Select @VNFA_CAMB = 0.00        
   Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                                
   Select @VNIM_IIES_ORIG = 0.00                        
   Select @VNIM_IIES_CNTX = 0.00                        
   Select @VNIM_RENO_ORIG = 0            
   Select @VNIM_RENO_CONT = 0            
   Select @VNIM_RENO_ORIX = 0            
   Select @VNIM_RENO_CNTX = 0            
   Select @VNIM_GAST_CONT = 0            
   Select @VNIM_GAST_ORIG = 0            
                          
   Select @VNIM_TOTA_ORIG_AUXI = 0                        
   Select @VNIM_TOTA_CNTB_AUXI = 0                           
   Select @VNID_IIES = 0                           
   Select @VNID_RENT = 0                          
   Select @VNID_NDOM = 0                          
   Select @VNID_IIGV = 0                          
   Select @VNID_COMP = 0                          
   Select @VNID_GAST = 0                
   Select @VDFE_0001 = NULL                                    
                      
/*-LEE DATOS CONTABLES----*/                      
   Select @VNIM_TOTA_CONT = 0.00                      
   Select @VNIM_IIGV_CONT = 0.00                      
   Select @VNIM_AFEC_CONX = 0.00                      
   Select @VNIM_INAF_CONX = 0.00                      
   Select @VNIM_FONA_CONT = 0.00                      
   Select @VNIM_RENT_CONT = 0.00                      
   Select @VNIM_IIES_CONT = 0.00                      
   Select @VNIM_TOTA_CONT_AUXI = 0.00                      
   Select @VNIM_BASE_RXHH = 0.00                  
   Select @VNIM_BASE_NDOM = 0.00                  
   Select @VSTI_PERS_SUNA = NULL            
   Select @VDFE_INIC_PRES = NULL          
   Select @VDFE_FINA_PRES = NULL          
   Select @VSTI_AUXI_EMPR = NULL          
   Select @VSCO_PROV = NULL            
   Select @VSCO_DOCU_SUNA = NULL          
   Select @VSNU_DOCU_SUNA = NULL          
  
            
/*-LEE DATOS CONTABLES----*/                      
   
                     
 End -- (If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +......)                                
                                
 /*-----  Acumula Movimientos - Provisiones -----*/                                
 Select @VSNU_ASTO_BASE = Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                                  
  Substring( Convert(Varchar(2),100 + @CNNU_MESE),2,2) + RTrim(@CSNU_ASTO)                              
                              
        ------------------------------------------------------                              
-- OBTENGO EL CODIGO SUNAT DE LA TABLA DE DOCUMENTOS                              
 select @VSCO_SUNA_0001 = CO_SUNA                              
 FROM TTDOCU_CNTB                
 WHERE TI_DOCU = @CSTI_DOCU_CNTB              
            
----- VALIDA NUEVOS CAMPOS FE_PAGO (FECHA PAGO ) Y FE_DOCU_VENC (FECHA VENC) DEL DOCUMENTO            
--- VALIDA QUE LA LINEA TENGA DOCUMENTO Y QUE PERTENEZCA AL ID DE REG COMPRAS            
--- PORQUE LA CUENTA DE IGV TAMBIEN LLEVA DOCUMENTO Y ESTA CUENTA NO DEBE TOMARSE EN CUENTA            
--- PARA SACAR LOS DATOS DE FECHA DE PAGO            
If IsNull(Rtrim(Ltrim(@CSTI_DOCU_CNTB)),'') != ''            
And @VSID_COMP = @CSID_CNTA            
Begin             
            
--     Select @VDFE_PAGO = NULL            
     Insert Into #TWMVTO_CANC (CO_CNTA_EMPR,TI_AUXI_EMPR,CO_AUXI_EMPR,TI_DOCU,NU_DOCU,FE_PAGO,IM_MVTO_CNTB)          
     Select @CSCN_CNTB_EMPR,@CSTI_AUXI_EMPR,@CSCO_AUXI,@CSTI_DOCU_CNTB,@CSNU_DOCU,FE_PAGO, IM_MVTO_CNTB          
     From #TWMVTO_APAK t1, TTIDEN_OPER t2          
     Where t1.CO_EMPR = @ISCO_EMPR            
     And t1.NU_CNTB_EMPR = @INNU_CNTB_EMPR            
     And t1.NU_ANNO = @INNU_ANNO            
     And t1.NU_MESE = @INNU_MESE_INIC            
     And t1.CO_CNTA_EMPR = @CSCN_CNTB_EMPR            
     And t1.TI_AUXI_EMPR = @CSTI_AUXI_EMPR            
     And t1.CO_AUXI_EMPR = @CSCO_AUXI        
     And t1.TI_DOCU = @CSTI_DOCU_CNTB            
     And t1.NU_DOCU = @CSNU_DOCU            
     And t1.SI_MVTO_CNTB = 'APR'            
     And t1.CO_EMPR = t2.CO_EMPR           
     And t1.NU_CNTB_EMPR = t2.NU_CNTB_EMPR           
     And t2.ID_OPRC = '025'          
     And t1.CO_OPRC_CNTB = t2.CO_OPRC_CNTB           
                
--- CASO SEA LIQU O POLIZA SOLO SE VISUALIZA LA FECHA DE PAGO NO SE VISUALIZA FECHA DE VENCIMIENTO                
/*FIN If @VSCO_SUNA_0001 = @VSCO_SUNA_SERV*/            
End /*FIN If IsNull(Rtrim(Ltrim(@CSTI_DOCU_CNTB)),'') != ''*/            
----- FIN VALIDA NUEVOS CAMPOS FE_PAGO (FECHA PAGO ) Y FE_DOCU_VENC (FECHA VENC) DEL DOCUMENTO            
            
-- FIN DEL IF  @VSCO_SUNA_NOCR = @VSCO_SUNA_0001                              
------------------------------------------------------                              
 -- Cuentas del Registro de Compras --------------                                
 If @CSID_CNTA = '001'                  
 Begin                              
            
            
-- VALIDA SI CODIGO SUNAT ES POLIZA DE IMPORTACION             
--- EXTRAE EL CODIGO SUNAT DEL DOCUMENTO DE LA 42x            
Select @VSCO_SUNA_VARI = ''            
            
Select @VSCO_SUNA_VARI = IsNull(CO_SUNA,'')            
From TTDOCU_CNTB            
Where TI_DOCU = @CSTI_DOCU_CNTB            
            
Select @VSCO_EMPR_0001 = ''            
Select @VSCO_EMPR_0001 = IsNull(RTrim(CO_EMPR),'')            
From TTCOSU_POLI            
Where CO_SUNA = @VSCO_SUNA_VARI             
            
If @VSCO_EMPR_0001 != ''            
 Begin             
   Select @VNID_GAST = 1                          
 End             
            
            
  Select @VNID_COMP = 1                          
  If @VSCO_MONE_BASE IS Null                                
  Begin                                            
   If 1=0 ---@@rowcount = 0               
   Begin                                
    Select @VDFE_DOCU = Null                                
    Select @VSTI_DOCU_CNTB = Null                                
    Select @VSNU_DOCU = Null                                
    Select @VSCO_PROV = Null                                 
    Select @VSNO_CORT_PROV = Null                                
    Select @VSNU_RUCS_PROV = Null                               
    Select @VDFE_DOCU_REFE = Null                                   
    Select @VSNU_DOCU_REFE = Null              
    Select @VDFE_INIC_PRES = NULL          
    Select @VDFE_FINA_PRES = NULL                     
    Select @VSTI_AUXI_EMPR = NULL          
    Select @VSCO_PROV = NULL          
    Select @VSCO_DOCU_SUNA = NULL          
    Select @VSNU_DOCU_SUNA = NULL          
  End                                
   Else                                 
   Begin                      
    Select @VSTI_AUXI_EMPR = @CSTI_AUXI_EMPR          
    Select @VSCO_PROV = @CSCO_AUXI          
    Select @VDFE_DOCU      = @CDFE_DOCU                                
    Select @VSTI_DOCU_CNTB = @CSTI_DOCU_CNTB                                
    Select @VSNU_DOCU      = @CSNU_DOCU                   
    Select @VDFE_DOCU_REFE = @CDFE_DOCU_REFE                                
    Select @VSNU_DOCU_REFE = @CSNU_DOCU_REFE                              
    Select @VDFE_INIC_PRES = @CDFE_INIC_PRES          
    Select @VDFE_FINA_PRES = @CDFE_FINA_PRES                     
    Select @VSCO_DOCU_SUNA = @CSCO_DOCU_SUNA          
    Select @VSNU_DOCU_SUNA = @CSNU_DOCU_SUNA          
  
   End                                
                                
   -- Si el Auxiliar est? sujeto a detracci?n, entonces NO retiene IGV,                                 
   If @VSST_DETR = 'S'                         
      Select @VSST_RETE_AUXI = 'S'                                
                                
   Select @VSCO_UNID = @CSCO_UNID                                 
   Select @VSCO_OPRC = @CSCO_OPRC                                
   Select @VSNU_ASTO = @CSNU_ASTO            
   Select @VSCO_MONE = @CSCO_MONE                                
   Select @VNFA_CAMB = Round(@CNFA_CAMB,3)                           
   Select @VSCO_MONE_BASE = @CSCO_MONE                                
   Select @VSTI_CAMB_BASE = @CSTI_CAMB                        
   Select @VDFE_ASTO_CNTB = @CDFE_ASTO_CNTB                        
                  
   If @VSTI_CAMB_BASE = 'PAC'                  
 Begin                   
    Select @VSTI_CAMB_BASE = @CSST_CNTA_CAMB             
        End                    
                  
                                
  End --( If @VSCO_MONE_BASE IS Null )                                
                        
  If @VSCO_MONE_BASE IS NOT Null                                
  Begin                                
   If @VSCO_MONE_BASE != @CSCO_MONE                                
   Begin                                
      -- CASO EUROS                         
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,                         
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
   End                                
   If @CSTI_OPER_CNTB = 'ABO'                                
   Begin              
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG + @CNIM_MVTO_ORIG,2)                                
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI + @CNIM_MVTO_ORIG,2)                        
    --*** select importe contabilidad                      
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT + @CNIM_MVTO_CNTB,2)                                      
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI + @CNIM_MVTO_CNTB,2)         
    --*** select importe contabilidad                      
   End                  
  Else If @CSTI_OPER_CNTB = 'CAR'                                
                        
   Begin        
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG - @CNIM_MVTO_ORIG,2)                                
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI - @CNIM_MVTO_ORIG,2)            
    --*** select importe contabilidad                      
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT - @CNIM_MVTO_CNTB,2)                                      
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI - @CNIM_MVTO_CNTB,2)                                      
    --*** select importe contabilidad                      
   End                                
  End                                
                                
 End -- ( If @CSID_CNTA = '001' )                                
                        
  /*-----  Acumula Movimientos - FONAVI   -----*/                                 
 If @CSID_CNTA = '008'                                
 Begin                                
  If @VSCO_MONE_BASE IS NOT Null                                
  Begin                                
   Select @VNID_IIES = 1                          
   If @VSCO_MONE_BASE != @CSCO_MONE                                
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,                         
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
   If @CSTI_OPER_CNTB = 'CAR'                     
    Begin                       
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG + @CNIM_MVTO_ORIG,2)                                
    --*** select importe contabilidad                      
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT + @CNIM_MVTO_CNTB,2)                                      
    --*** select importe contabilidad                      
    End                       
   Else If @CSTI_OPER_CNTB = 'ABO'                                
    Begin                       
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG - @CNIM_MVTO_ORIG,2)                             
    --*** select importe contabilidad                      
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT - @CNIM_MVTO_CNTB,2)                             
    --*** select importe contabilidad                      
    End                        
  End                                
 End --( If @CSID_CNTA = '008' )                        
                                
 /*-----  Acumula Movimientos - IGV  -----*/                                
 If @CSID_CNTA = '009'                                
 Begin                            
  If @VSCO_MONE_BASE IS NOT Null                             
  Begin                                
  Select @VNID_IIGV = 1                              
   If @VSCO_MONE_BASE != @CSCO_MONE                                
   Begin                                
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,                         
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
   End                                
   If @CSTI_OPER_CNTB = 'CAR'                    
   Begin                                
    Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG + @CNIM_MVTO_ORIG,2)             
    --*** select importe contabilidad                      
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT + @CNIM_MVTO_CNTB,2)                                      
    --*** select importe contabilidad                      
   End                                
   Else If @CSTI_OPER_CNTB = 'ABO'                                
   Begin                                
 Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG - @CNIM_MVTO_ORIG,2)      
    --*** select importe contabilidad                      
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT - @CNIM_MVTO_CNTB,2)                                      
    --*** select importe contabilidad                      
   End                                
  End                                
 End --( If @CSID_CNTA = '009' )                                                          
                        
   /*-----   Acumula Movimientos -  IES    -----*/                          
    If @CSID_CNTA = '014'                           
      Begin                            
       If @VSCO_MONE_BASE IS NOT NULL                          
        Begin                           
          Select @VNID_IIES = 1                            
          If @VSCO_MONE_BASE != @CSCO_MONE                          
             Begin                          
             Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,            
             @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
             End                          
          If @CSTI_OPER_CNTB = 'CAR'                          
             Begin                            
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG + @CNIM_MVTO_ORIG,2)                          
      --*** select importe contabilidad                      
            Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT + @CNIM_MVTO_CNTB,2)                                      
       --*** select importe contabilidad                      
             End                          
          If @CSTI_OPER_CNTB = 'ABO'                           
             Begin                         
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG - @CNIM_MVTO_ORIG,2)                          
      --*** select importe contabilidad                      
             Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT - @CNIM_MVTO_CNTB,2)                              
       --*** select importe contabilidad                      
             End                          
        End                          
      End                          
  
 /*-----   Acumula Movimientos - 4ta. CAT.   -----*/                                
  If @CSID_CNTA = '018'           
  Begin         
   If @VSCO_MONE_BASE IS NOT Null                                
   Begin                                
   Select @VNID_RENT = 1                      
    If @VSCO_MONE_BASE != @CSCO_MONE                                
    Begin                                
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,                         
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
    End                                
    If @CSTI_OPER_CNTB = 'CAR'                         
    Begin                         
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG + @CNIM_MVTO_ORIG,2)                                
     --*** select importe contabilidad                      
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT + @CNIM_MVTO_CNTB,2)                                      
     --*** select importe contabilidad                      
    End                                
    Else If @CSTI_OPER_CNTB = 'ABO'                                
    Begin                                
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG - @CNIM_MVTO_ORIG,2)                                
  --*** select importe contabilidad                      
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT - @CNIM_MVTO_CNTB,2)                                      
     --*** select importe contabilidad                      
    End                                
   End -- (If @VSCO_MONE_BASE IS NOT Null)                                
  End -- ( If @CSID_CNTA = '010' )                            
            
 /*-----   Acumula Movimientos - impuesto renta No domiciliados    -----*/                          
  If @CSID_CNTA = '033'                                
  Begin                                
   If @VSCO_MONE_BASE IS NOT Null                                
   Begin                                
   Select @VNID_NDOM = 1                          
    If @VSCO_MONE_BASE != @CSCO_MONE                 
    Begin                                
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,                         
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                              
    End                                
    If @CSTI_OPER_CNTB = 'CAR'                                
    Begin                                
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG + @CNIM_MVTO_ORIG,2)                                
     --*** select importe contabilidad                      
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT + @CNIM_MVTO_CNTB,2)                                      
     --*** select importe contabilidad                      
    End                                
    Else If @CSTI_OPER_CNTB = 'ABO'                                
    Begin                                
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG - @CNIM_MVTO_ORIG,2)                        
   --*** select importe contabilidad                      
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT - @CNIM_MVTO_CNTB,2)                                      
     --*** select importe contabilidad                      
 End                                
   End -- (If @VSCO_MONE_BASE IS NOT Null)                                
  End -- ( If @CSID_CNTA = '010' )                            
            
 /*-----   Acumula Movimientos - cuenta gastos despacho no gravados  -----*/                       
  If @CSID_CNTA = '034'                                
  Begin        
If @VSCO_MONE_BASE IS NOT Null        
   Begin        
    If @VSCO_MONE_BASE != @CSCO_MONE        
    Begin        
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,        
           @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT        
    End        
    If @CSTI_OPER_CNTB = 'CAR'                                
    Begin                                
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG + @CNIM_MVTO_ORIG,2)                                
     --*** select importe contabilidad                      
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT + @CNIM_MVTO_CNTB,2)                      
     --*** select importe contabilidad                      
    End                                
    Else If @CSTI_OPER_CNTB = 'ABO'                                
    Begin                                
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG - @CNIM_MVTO_ORIG,2)                                
     --*** select importe contabilidad                      
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT - @CNIM_MVTO_CNTB,2)                  
     --*** select importe contabilidad                      
    End                                
   End -- (If @VSCO_MONE_BASE IS NOT Null)                    
  End -- ( If @CSID_CNTA = '010' )                            
                          
                                    
Fetch CU_TXMVTO_CNTB_Q20_1 into                                 
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                                 
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                                 
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                                
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                            
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC,@CDFE_INIC_PRES,@CDFE_FINA_PRES,          
    @CSCO_DOCU_SUNA,@CSNU_DOCU_SUNA  
                                
 End                                
 Close CU_TXMVTO_CNTB_Q20_1                                
 Deallocate CU_TXMVTO_CNTB_Q20_1              

          
--     Select IsNull(REPLACE(Rtrim(Ltrim(t1.CO_DOCU_SUNA)),'0',''), '') +  '|' +           
     Select IsNull(Rtrim(Ltrim(t1.CO_DOCU_SUNA)), '') +  '|' +           
     Substring(IsNull(Rtrim(Ltrim(t1.NU_DOCU_SUNA)),''),1,15) + '|' +           
     IsNull((Case When t2.ST_DOCU_0010 = 'S' Then 'R' Else 'O' End),'') + '|' +           
     IsNull((Case When t2.ST_SERI = 'S' Then RIGHT(Substring(t1.NU_DOCU,1,IsNull(t2.NU_LONG_SERI,0)),4)           
     When t2.ST_SERI = 'N' Then '' End),'') + '|' +          
     IsNull((Case When t2.ST_SERI = 'S' Then RIGHT(Substring(t1.NU_DOCU,IsNull(t2.NU_LONG_SERI,0)+2,t2.NU_LONG),8)          
     When t2.ST_SERI = 'N' Then RIGHT(t1.NU_DOCU,8) End),'') + '|' +          
--     REPLACE (RTRIM(LTRIM(STR( Abs(IsNull(T1.IM_TOTA_CNTB,0)),10,2))),'.', '') + '|' +          
     RTRIM(LTRIM(STR( Abs(IsNull(T1.IM_TOTA_CNTB + t1.IM_RENT_CNTB,0)),10,2))) + '|' +        
     IsNull(Convert(Varchar,t1.FE_DOCU,103),'') + '|' +          
     IsNull(Convert(Varchar,t3.FE_PAGO,103),'') + '|' +              
     (Case When Abs(IsNull(t1.IM_RENT_CNTB,0)) > 0 Then '1' Else '0' End) + '|'          
     From #TWMVTO_CNTB_Q20_1 t1  inner  JOIN #TWMVTO_CANC t3 ON t3.TI_AUXI_EMPR = t1.TI_AUXI_EMPR          
     And t3.CO_AUXI_EMPR = t1.CO_PROV          
     And t3.TI_DOCU = t1.TI_DOCU_CNTB          
     And t3.NU_DOCU = t1.NU_DOCU,TTDOCU_CNTB t2,TMPRES_SERV t4           
     Where t4.CO_PROV = t1.CO_PROV          
     And t4.CO_EMPR = @ISCO_EMPR          
     And t2.TI_DOCU = t1.TI_DOCU_CNTB          
     And t2.ST_DOCU_0010 = 'S' --- ESTE FLAG INDICA SOLO RECIBOS POR HONORARIOS          
     Order By 1                   
/*----------------------------------------- Fin ------------------------------------------------------*/          
   
  
  
  
  
  
  
  






GO
